У Light Alloy існує можливість отримувати системні повідомлення від сторонньої програми, використовуючи API Light Alloy. Це дозволяє згаданій сторонній програмі просто і точно керувати програвачем без емуляції натискань клавіатури і мишки. Серед програм, які використовують API для управління Light Alloy, - Remotty і RC Assistant.
Управління Light Alloy через API, здійснюється шляхом відправки повідомлень вікну з назвою класу LightAlloyFront.
Номер повідомлення = WM_APP + 2504 (0x89C8)
Нижче перераховані команди, які розуміє Light Alloy:
LAC_FILE_OPEN = 50; //Відкрити файл LAC_FILE_OPEN_URL = 51; //Відкрити URL LAC_FILE_PLAY_DVD_DISC = 52; //Відкрити DVD/Blu-ray/Audio CD диск LAC_FILE_OPEN_DVD_FOLDER_NO_MENU = 53; //Відкрити DVD без меню LAC_FILE_OPEN_DVD_FOLDER = 54; //Відкрити теку з DVD/Blu-ray LAC_FILE_OPEN_TV = 55; //Повноекранне меню відкриття файлів LAC_FILE_PLAY_CDDVD = 56; //Відкрити CD/DVD диск LAC_FILE_PLAY_BD_DISC = 57; //Відкрити Blu-ray диск LAC_FILE_PLAY_AUD_DISC = 58; //Відкрити Audio CD диск LAC_APPLICATION_HISTORY = 59; //Розширена історія файлів LAC_FILE_INFO = 60; //Інформація про файл LAC_FILE_OSD_INFO = 61; //Інформація про файл на екрані LAC_FILE_INFO_PLAYLIST = 62; //Інформація про файл LAC_FILE_OPEN_RADIOVIEWER = 63; //Каталог інтернет радіостанцій LAC_FILE_RADIO_ON_OFF = 64; //Радіо: увімкнути/вимкнути LAC_FILE_RADIO_RECSTART = 65; //Радіо: почати запис LAC_FILE_RADIO_RECSTOP = 66; //Радіо: зупинити запис LAC_PLAYBACK_PLAY = 100; //Відтворення LAC_PLAYBACK_STOP = 101; //Пауза LAC_PLAYBACK_STOP_PLAY = 102; //Відтворення / Пауза LAC_PLAYBACK_REAL_STOP = 103; //Стоп LAC_PLAYBACK_SPEED_PLAY = 104; //Швидкість відтворення LAC_PLAYBACK_FILTERS = 105; //Дерево фільтрів LAC_PLAYBACK_SPEED_PLAY_UP = 106; //Швидкість відтворення вища LAC_PLAYBACK_SPEED_PLAY_DN = 107; //Швидкість відтворення нижча LAC_SEEK_FRAME_STEP = 150; //Кадр вперед LAC_SEEK_FRAME_BACK = 151; //Кадр назад LAC_SEEK_FORWARD = 152; //Перемотування вперед LAC_SEEK_BACKWARD = 153; //Перемотування назад LAC_SEEK_JUMP_FORWARD = 154; //Стрибок вперед LAC_SEEK_JUMP_BACKWARD = 155; //Стрибок назад LAC_SEEK_SUBTITLE_NEXT = 156; //Субтитр наступний LAC_SEEK_SUBTITLE_PREV = 157; //Субтитр попередній LAC_SEEK_REWIND = 158; //Перемотати на початок LAC_SEEK_SET_BOOKMARK = 159; //Встановити закладку LAC_SEEK_LAST_POS = 160; //Перемотування на місце зупинки LAC_SEEK_A_B = 161; //Повтор відрізку А-B LAC_SEEK_SET_O = 162; //Відмітити початок автопромотки LAC_SEEK_SET_E = 163; //Відмітити кінець автопромотки LAC_SEEK_SET_OE = 164; //Відмітити завершення заставки LAC_SEEK_SET_EO = 165; //Відмітити початок закінчення LAC_SEEK_SHOW_OE_PROPS = 166; //Налаштування автопромотки LAC_WINDOW_CONTROL_PANEL = 200; //Панель керування LAC_WINDOW_STAY_ON_TOP = 201; //Поверх усіх вікон LAC_WINDOW_MINIMIZE = 202; //Мінімізувати LAC_WINDOW_MAXIMIZE = 203; //Максимізувати LAC_WINDOW_FULLSCREEN = 204; //Вікно / Увесь екран LAC_WINDOW_ORIGINAL = 205; //Первинний розмір LAC_WINDOW_PLAYLIST = 206; //Список LAC_WINDOW_EX_PLAYLIST = 207; //Зовнішній список LAC_WINDOW_ADVDIR = 208; //Режим плейліста LAC_WINDOW_PLAYLIST_SIZE = 209; //Розмір плейліста LAC_WINDOW_ADVDIR_DIR_SIZE = 210; //Розмір панелі каталогів LAC_WINDOW_GET_USER_SIZE = 211; //Зберегти положення і розміри плеєра LAC_WINDOW_SET_USER_SIZE = 212; //Завантажити положення і розміри плеєра LAC_WINDOW_HIDE_FROM_BOSS = 213; //Анти-шеф LAC_PLAYLIST_SHOW_HIDE_SEARCH = 250; //Поле пошуку: показати / приховати LAC_PLAYLIST_ADVDIR_FAVORITE = 251; //Режим Каталогів - Обране LAC_PLAYLIST_ADVDIR_GO_MYPATH = 252; //Режим Каталогів - Улюблена тека LAC_PLAYLIST_PLAY = 253; //Відтворити вибраний LAC_PLAYLIST_NEXT = 254; //Наступний за списком LAC_PLAYLIST_PREV = 255; //Попередній за списком LAC_PLAYLIST_ADD_FILES = 256; //Додати файли LAC_PLAYLIST_ADD_FOLDER = 257; //Додати теку в список LAC_PLAYLIST_DELETE = 258; //Видалити зі списку LAC_PLAYLIST_DELETE_FILE = 259; //Видалити файл LAC_PLAYLIST_CLEAR = 260; //Очистити список LAC_PLAYLIST_SAVE = 261; //Зберегти список LAC_PLAYLIST_REPORT = 262; //Таблиця за списком LAC_PLAYLIST_MOVE_UP = 263; //Перемістити вище LAC_PLAYLIST_MOVE_DOWN = 264; //Перемістити нижче LAC_PLAYLIST_SORT = 265; //Відсортувати список LAC_PLAYLIST_VISUALSHUFFLE = 266; //Перемішати список LAC_PLAYLIST_SHUFFLE = 267; //Випадковий порядок відтворення LAC_PLAYLIST_REPEAT = 268; //Повтор списку LAC_PLAYLIST_REPEAT_FILE = 269; //Повтор файлу LAC_PLAYLIST_BOOKMARKS = 270; //Закладки в списку LAC_PLAYLIST_JUMP = 271; //Перейти до файлу LAC_PLAYLIST_SEARCH_FILE = 272; //Показати розташування файлу LAC_PLAYLIST_RENAME_FILE = 273; //Перейменувати файл або закладку LAC_VIDEO_PROPERTIES = 300; //Опції відео LAC_VIDEO_SCREENSHOT = 301; //Зберегти скріншот LAC_VIDEO_SCREENSHOT_CB = 302; //Копіювати скріншот у буфер обміну LAC_VIDEO_SAVE_THUMBNAILS = 303; //Зберегти мініатюри LAC_VIDEO_SAVE_SCREENS_PACK = 304; //Зберегти пакет повнорозмірних скріншотів LAC_VIDEO_OPEN_SCR_FOLDER = 305; //Відкрити теку зі знімками з екрану LAC_VIDEO_SCALE_50 = 306; //Масштаб 50% LAC_VIDEO_SCALE_100 = 307; //Масштаб 100% LAC_VIDEO_SCALE_150 = 308; //Масштаб 150% LAC_VIDEO_SCALE_200 = 309; //Масштаб 200% LAC_VIDEO_RATIO_ASIS = 310; //Пропорції як є LAC_VIDEO_RATIO_16_9 = 311; //Пропорції 16:9 LAC_VIDEO_RATIO_4_3 = 312; //Пропорції 4:3 LAC_VIDEO_RATIO_WIDTH = 313; //Пропорції по ширині LAC_VIDEO_RATIO_HEIGHT = 314; //Пропорції по висоті LAC_VIDEO_RATIO_CUSTOM = 315; //Пропорції особливі LAC_VIDEO_RATIO_CUSTOM_SET = 316; //Пропорції особливі LAC_VIDEO_RATIO_FREE = 317; //Без збереження пропорцій LAC_VIDEO_RATIO_PIXEL = 318; //Пропорції Піксель-в-піксель LAC_VIDEO_ZOOM_IN = 319; //Збільшити зображення LAC_VIDEO_ZOOM_OUT = 320; //Зменшити зображення LAC_VIDEO_BRIGHTNESS_INC = 321; //Додати яскравості LAC_VIDEO_BRIGHTNESS_DEC = 322; //Збавити яскравість LAC_VIDEO_CONTRAST_INC = 323; //Додати контрастність LAC_VIDEO_CONTRAST_DEC = 324; //Збавити контрастність LAC_VIDEO_SATURATION_INC = 325; //Додати насиченості LAC_VIDEO_SATURATION_DEC = 326; //Збавити насиченість LAC_VIDEO_COLOR_RESET = 327; //Скинути налаштування кольорів LAC_VIDEO_SETS_RESTORE = 328; //Скинути налаштування масштабу і розмірів LAC_VIDEO_RATIO_SWITCH = 329; //Перемкнути пропорції LAC_VIDEO_DEBUG_OSD = 330; //Показати технічне OSD по відео LAC_VIDEO_OSD_INFO_CB = 331; //Збер. OSD-інфо фільму у буфер обміну LAC_VIDEO_SUBS_DEBUG_OSD = 332; //Показати технічне OSD по субтитрах LAC_VIDEO_SHOW_STATS = 333; //Показувати технічну статистику LAC_VIDEO_USE_VSYNC = 334; //Дозволити VSync LAC_VIDEO_USE_ACCURVSYNC = 335; //Використовувати акуратний VSync LAC_VIDEO_USE_ALTERVSYNC = 336; //Використовувати альтернативний VSync LAC_VIDEO_FLUSHGPU_BEF_VS = 337; //Заповнити GPU перед VSync LAC_VIDEO_FLUSHGPU_AFT_PR = 338; //Заповнити GPU після представлення LAC_VIDEO_FLUSHGPU_WAIT = 339; //Чекати заповнення GPU LAC_VIDEO_USE_FRAME_TC = 340; //Включити корекцію часу кадру LAC_VIDEO_DIS_AERO = 341; //Відключити ефекти робочого столу LAC_VIDEO_USE_16_235_OR = 342; //Використовувати діапазон виводу 16-235 LAC_VIDEO_PAN_SCAN_LEFT = 343; //Зсунути картинку вліво LAC_VIDEO_PAN_SCAN_RIGHT = 344; //Зсунути картинку вправо LAC_VIDEO_PAN_SCAN_UP = 345; //Зсунути картинку вгору LAC_VIDEO_PAN_SCAN_DOWN = 346; //Зсунути картинку вниз LAC_SUBTITLES_LOAD = 350; //Завантажити субтитри LAC_SUBTITLES_LOAD_TV = 351; //Повноекранне меню завантаження субтитрів LAC_SUBTITLES_SHOW = 352; //Показувати субтитри №1 LAC_SUBTITLES_SWITCH = 353; //Перемкнути субтитри №1 LAC_SUBTITLES_SHOW2 = 354; //Відображати субтитри №2 LAC_SUBTITLES_SWITCH2 = 355; //Перемкнути субтитри №2 LAC_SUBTITLES_PROPERTIES = 356; //Опції субтитрів LAC_SUBTITLES_TS_INC = 357; //Збільшити зсув субтитрів LAC_SUBTITLES_TS_DEC = 358; //Зменшити зсув субтитрів LAC_SUBTITLES_EXPLORER = 359; //Оглядач субтитрів LAC_SUBTITLES_FONT_INC = 360; //Зробити субтитри більшими LAC_SUBTITLES_FONT_DEC = 361; //Зробити субтитри дрібнішими LAC_SOUND_ADD = 400; //Завантажити звукову доріжку LAC_SOUND_SWITCH_STREAM = 401; //Перемкнути звукову доріжку LAC_SOUND_PROPERTIES = 402; //Опції звуку LAC_SOUND_VOLUME_INC = 403; //Збільшити гучність LAC_SOUND_VOLUME_DEC = 404; //Зменшити гучність LAC_SOUND_MUTE = 405; //Відключити звук LAC_SOUND_TS_MINUS = 406; //Зсунути звук назад LAC_SOUND_TS_PLUS = 407; //Зсунути звук вперёд LAC_SOUND_PITCH_INC = 408; //Збільшити пітч звуку LAC_SOUND_PITCH_DEC = 409; //Зменшити пітч звуку LAC_SOUND_PITCH_DEF_ONE = 410; //Дефолтний пітч звуку для поточної швидкості LAC_SOUND_PITCH_DEF_ALL = 411; //Дефолтний пітч звуку для усіх швидкостей LAC_APPLICATION_PREFERENCES = 450; //Налаштування LAC_APPLICATION_HELP = 451; //Допомога LAC_APPLICATION_ABOUT = 452; //Про програму LAC_APPLICATION_EXIT = 453; //Вихід LAC_APPLICATION_MONITOR_OFF = 454; //Вимкнути монітор LAC_APPLICATION_POWER_OFF = 455; //Вимкнути комп'ютер LAC_APPLICATION_POW_ONPLDONE = 456; //Вимк. комп'ютер після закінчення списку LAC_APPLICATION_HIBERNATE = 457; //Сплячий режим LAC_APPLICATION_HIB_ONPLDONE = 458; //Сплячий режим після закінчення списку LAC_APPLICATION_MEDIAHISTORY_CLEAR = 459; //Очистити медіа-історію LAC_APPLICATION_CLEAR_MEDIA_SETTINGS = 460; //Очистити медіа-налаштування і кеш LAC_APPLICATION_WL_KEYS_REMINDER = 461; //Нагадати призначені WinLIRC команди LAC_APPLICATION_SCHEDULER = 462; //Планувальник LAC_APPLICATION_SLEEP = 463; //Режим очікування LAC_APPLICATION_AGENT_CLOSE = 464; //Закрити LAAgent.exe LAC_NAVIGATION_TITLE = 500; //Заголовне меню LAC_NAVIGATION_ROOT = 501; //Кореневе меню LAC_NAVIGATION_SUBS = 502; //Меню субтитрів LAC_NAVIGATION_AUDIO = 503; //Меню аудіо LAC_NAVIGATION_SCENES = 504; //Меню сцен LAC_NAVIGATION_ANGLE = 505; //Меню ракурсів відео LAC_NAVIGATION_PREV = 506; //Попередня глава LAC_NAVIGATION_NEXT = 507; //Наступна глава
Нижче наведено два скрипти AutoIt3, які виконують одне і те ж. Відмінність тільки в тому, що перший трохи менше займає місця на диску, а другий трохи зрозуміліший:
#include <SendMessage.au3> $hWnd = WinWait("[CLASS:LightAlloyFront]", "", 0) _SendMessage($hwnd, 0x89C8, 100)
#include <SendMessage.au3> Local Const $LAC_PLAYBACK_PLAY = 100 $hWnd = WinWait("[CLASS:LightAlloyFront]", "", 0) _SendMessage($hwnd, 0x89C8, $LAC_PLAYBACK_PLAY)